home *** CD-ROM | disk | FTP | other *** search
- 4000 COLOR 7,0: REM ***************************************************************************************************
- 4010 REM 'CHECKRES' SUBROUTINE TO RESTART - SET FILE #2 RECORDS FOR PRIOR YEAR TO ZERO IF THEY HAVE CLEARED BANK
- 4020 REM **************************************************************************************************************
- 4030 CLS
- 4040 PRINT " Have you COPIED the Payee Files "
- 4050 PRINT: PRINT " to a backup diskette prior to this"
- 4060 PRINT: PRINT " Job selection??? (i.e. PAYEE.MAS and"
- 4070 PRINT: PRINT " CHECK.REC). Reply Y or N ";
- 4080 C$ = INKEY$: IF C$ = "" THEN 4080
- 4090 PRINT C$
- 4100 IF C$ = "Y" OR C$ = "y" THEN GOTO 4160
- 4110 PRINT: PRINT " COPY the Payee Files for backup then"
- 4120 PRINT: PRINT " restart this job."
- 4130 PRINT: PRINT " Press any key to continue. "
- 4140 IF INKEY$ = "" THEN GOTO 4140
- 4150 GOTO 260 'RETURN TO PAMUTILY MENU
- 4160 GOSUB 270 'OPEN PAYEE FILES
- 4170 COLOR 7,0: CLS: PRINT " Enter prior year"
- 4180 PRINT: PRINT " Such as: 81 (for 1981)"
- 4190 PRINT: COLOR 0,7: PRINT " Year ===>";: Y = CSRLIN: X = POS(0)
- 4200 FIELDMAX% = 2: NUM.ONLY% = TRUE%: DEC.MINUS% = FALSE%: GOSUB 330
- 4210 YEAR$ = DATU$
- 4220 IF YEAR$ = "" THEN CLOSE #1,#2: GOTO 260 'IF NULL INPUT, DO NOT RUN THIS JOB
- 4230 L% = 9 'ARRAY ELEMENTS 9 to (M3%)
- 4240 FOR I = 1 TO M1%
- 4250 J = I
- 4260 GET #2,J
- 4270 IF ASC(F2$)=255 THEN GOTO 4490
- 4280 GOSUB 280 'MOVE FILE #2 TO ARRAY
- 4290 FOR K = 1 TO 8
- 4300 IF YEAR$ >= MID$(CHEK3$(K),7,2) THEN IF CHEK2$(K)<>SPACE$(1) THEN GOTO 4380
- 4310 IF CHEK4(K) > 9.999999E-04 THEN CHEK1%(L%)= CHEK1%(K): CHEK2$(L%) = CHEK2$(K): CHEK3$(L%) = CHEK3$(K): CHEK4(L%) = CHEK4(K): CHEK5%(L%) = I: L% = L% + 1
- 4320 IF L% <= M3% THEN GOTO 4380
- 4330 COLOR 0,7: PRINT " Arrays are filled to limit of ";M3%
- 4340 PRINT " Enlarge array limits,"
- 4350 PRINT " RESTORE Payee File #2 (CHECK.REC)"
- 4360 COLOR 31,0: PRINT " then rerun this Job"
- 4370 GOTO 340 'CANCEL THIS RUN
- 4380 CHEK1%(K) = 0
- 4390 CHEK2$(K) = SPACE$(1)
- 4400 CHEK3$(K) = SPACE$(8)
- 4410 CHEK4(K) = 0
- 4420 NEXT K
- 4430 GOSUB 290 'MOVE ARRAY FIELDS TO FILE #2
- 4440 CHANE% = CVI(L$)
- 4450 LSET L$ = MKI$(0)
- 4460 IF (J>M1%) THEN LSET F2$ = CHR$(255): LSET P2$=SPACE$(4)
- 4470 PUT #2,J
- 4480 IF CHANE%<>0 THEN J = CHANE%: GOTO 4260
- 4490 NEXT I
- 4500 CHEK1%(L%) = 9999 'ARRAY DELIMITER
- 4510 REM **************************************************************************************************************
- 4520 REM INITIALIZE BANK STATEMENT RECORD TO START ACCUMULATIONS FOR NEW YEAR
- 4530 REM **************************************************************************************************************
- 4540 GET #1,1
- 4550 IF F1$="$" THEN GOTO 4610
- 4560 COLOR 0,7: PRINT " Invalid record code for"
- 4570 PRINT " Bank Statement File #1 record";P1$
- 4580 PRINT " Position 5 should be: $ "
- 4590 PRINT " instead of:";F1$
- 4600 GOTO 340 'CANCEL THIS RUN
- 4610 TAMT = CVS(S4$): AMT = 0
- 4620 PRINT: PRINT: PRINT " Bank Statement Balance is: ";
- 4630 PRINT USING "#####,.##";TAMT
- 4640 PRINT: COLOR 0,7: PRINT " Press ENTER KEY ONLY if above"
- 4650 PRINT: PRINT " balance is correct, else enter the"
- 4660 PRINT: PRINT " correct balance now: ";: Y = CSRLIN: X = POS(0)
- 4670 FIELDMAX% = 9: NUM.ONLY% = TRUE%: DEC.MINUS% = TRUE%: GOSUB 330
- 4680 AMT = VAL(DATU$)
- 4690 LOCATE Y,X+1: COLOR 0,7: PRINT USING "#####,.##";AMT: COLOR 7,0
- 4700 IF AMT = 0 THEN AMT = TAMT
- 4710 LSET S1$ = MKS$(AMT)
- 4720 LSET S2$ = MKS$(0)
- 4730 LSET S3$ = MKS$(0)
- 4740 LSET S4$ = MKS$(AMT)
- 4750 LSET S5$ = MKI$(M1%+1)
- 4760 LSET S6$ = MKI$(0)
- 4770 PUT #1,1
- 4780 REM **************************************************************************************************************
- 4790 REM INITIALIZE CHECK OVERFLOW RECORDS TO ZEROS AND SPACES
- 4800 REM **************************************************************************************************************
- 4810 FOR I = (M1%+1) TO M2%
- 4820 GET #2,I
- 4830 LSET L$=MKI$(0)
- 4840 LSET F2$=CHR$(255)
- 4850 LSET P2$=SPACE$(4)
- 4860 FOR K = 1 TO 8
- 4870 CHEK1%(K) = 0
- 4880 CHEK2$(K) = SPACE$(1)
- 4890 CHEK3$(K) = SPACE$(8)
- 4900 CHEK4(K) = 0
- 4910 NEXT K
- 4920 GOSUB 290 'MOVE ARRAYS TO I/O BUFFER OF FILE #2
- 4930 PUT #2,I
- 4940 NEXT I
- 4950 REM **************************************************************************************************************
- 4960 REM RE-ENTER FILE #2 PRIOR YEAR RECORDS WHICH HAVE NOT CLEARED THE BANK PLUS THE CURRENT YEARS RECORDS
- 4970 REM **************************************************************************************************************
- 4980 FOR L% = 9 TO M3%
- 4990 IF CHEK1%(L%) = 9999 THEN GOTO 5510
- 5000 I = CHEK5%(L%)
- 5010 IF (I>0) AND (I<(M1%+1)) THEN GET #2,I: SVADDRS% = I: SAVEP2$ = P2$: GOTO 5130
- 5020 LPRINT "Invalid record address ";I
- 5030 LPRINT "Research and correct
- 5040 LPRINT "Check/Code = ";CHEK1%(L%)
- 5050 LPRINT "Activity date ";CHEK3$(L%)
- 5060 LPRINT "Amount is ";
- 5070 LPRINT USING "#####,.##";CHEK4(L%)
- 5080 LPRINT
- 5090 GOTO 5500
- 5100 REM **********************************************************************************************************
- 5110 REM TEST CHECK NO. FIELD FOR ZEROS TO FIND NEXT SLOT FOR ENTERING THIS ACTIVITY
- 5120 REM **********************************************************************************************************
- 5130 GOSUB 280 'READ FILE #2 RECORDS TO ARRAY
- 5140 FOR K = 1 TO 8
- 5150 IF CHEK1%(K) = 0 THEN GOTO 5440
- 5160 NEXT K
- 5170 REM **********************************************************************************************************
- 5180 REM TEST CHAINING FIELD TO GET LAST FILE #2 RECORD IN THIS PAYEES CHAIN
- 5190 REM **********************************************************************************************************
- 5200 CHANE% = CVI(L$)
- 5210 IF CHANE% = 0 THEN GOTO 5390
- 5220 IF (CHANE%>M1%) AND (CHANE%<(M2%+1)) THEN GOTO 5280
- 5230 COLOR 0,7: PRINT " Chaining record error on Payee ";P2$
- 5240 PRINT USING " Chaining field has Record No. ####";CHANE%
- 5250 PRINT " Valid chaining records are ";M1%+1;"-";M2%
- 5260 COLOR 31,0: PRINT " Correct File then rerun this Job"
- 5270 GOTO 340 'Cancel this run
- 5280 GET #2,CHANE%
- 5290 SVADDRS% = CHANE%
- 5300 IF SAVEP2$=P2$ THEN GOTO 5130
- 5310 COLOR 0,7: PRINT " Chaining Payee No. is unequal"
- 5320 PRINT " to File #2 Payee No. - ERROR!!!"
- 5330 PRINT " The First File #2 is:";SAVEP2$
- 5340 PRINT " The Chained File #2 is:";P2$
- 5350 GOTO 340 'Cancel this run
- 5360 REM **********************************************************************************************************
- 5370 REM CURRENT FILE #2 RECORD IS FULL, CREATE A CHAINED FILE #2 RECORD FOR THIS PAYEE
- 5380 REM **********************************************************************************************************
- 5390 GOSUB 300 'CREATE NEXT FILE #2 RECORD FOR THIS PAYEE
- 5400 GOTO 5130
- 5410 REM **********************************************************************************************************
- 5420 REM UPDATE FILE #2 RECORD WITH THIS ACTIVITY
- 5430 REM **********************************************************************************************************
- 5440 CHEK1%(K) = CHEK1%(L%)
- 5450 CHEK2$(K) = CHEK2$(L%)
- 5460 CHEK3$(K) = CHEK3$(L%)
- 5470 CHEK4(K) = CHEK4(L%)
- 5480 GOSUB 290 `MOVE ARRAY FIELDS TO FILE #2 I/O BUFFER
- 5490 PUT #2,SVADDRS%
- 5500 NEXT L%
- 5510 CLOSE #1,#2
- 5520 GOTO 260 'RETURN TO JOB CHOICES MENU
- 5530 REM --------------------------------------------------------------------------------------------------------------
- 9000 GOTO 9000 'CHAIN MERGE AREA LAST STATEMENT
- --------------------------------------------------------------